#!/bin/sh

# containerd is also pinned in vendor.conf. When updating the binary
# version you may also need to update the vendor version to pick up bug
# fixes or new APIs.
: "${CONTAINERD_COMMIT:=814b7956fafc7a0980ea07e950f983d0837e5578}" # v1.3.4

install_containerd() {
	echo "Install containerd version $CONTAINERD_COMMIT"
	git clone https://github.com/containerd/containerd.git "$GOPATH/src/github.com/containerd/containerd"
	cd "$GOPATH/src/github.com/containerd/containerd"
	git checkout -q "$CONTAINERD_COMMIT"

	(

		export BUILDTAGS='netgo osusergo static_build'
		export EXTRA_FLAGS='-buildmode=pie'
		export EXTRA_LDFLAGS='-extldflags "-fno-PIC -static"'

		# Reset build flags to nothing if we want a dynbinary
		if [ "$1" = "dynamic" ]; then
			export BUILDTAGS=''
			export EXTRA_FLAGS=''
			export EXTRA_LDFLAGS=''
		fi

		make
	)

	mkdir -p "${PREFIX}"

	cp bin/containerd "${PREFIX}/containerd"
	cp bin/containerd-shim "${PREFIX}/containerd-shim"
	cp bin/containerd-shim-runc-v2 "${PREFIX}/containerd-shim-runc-v2"
	cp bin/ctr "${PREFIX}/ctr"
}
